Communication routing plans that are based on communication device contact lists

ABSTRACT

In a communication system, a processing system receives contact lists with contact items from wireless communication devices and processes the contact lists to identify a redundant contact item. In response, the processing system transfers a notification to a master wireless communication device. The processing system receives a response from the master wireless communication device and processes the response to generate and transfer a routing instruction. A routing system receives the routing instruction. The routing system receives a message for the master wireless communication device, and in response, selects another wireless communication device for the message based on the routing instruction and transfers the message to the other wireless communication device.

RELATED CASES

This patent application is a continuation of U.S. patent application Ser. No. 11/876,827 that was filed on Oct. 23, 2007 and is entitled, “COMMUNICATION ROUTING PLANS THAT ARE BASED ON COMMUNICATION DEVICE CONTACT LISTS.” U.S. patent application Ser. No. 11/876,827 is hereby incorporated by reference into this patent application.

TECHNICAL FIELD

The invention is related to the field of communications, and in particular, to systems and methods of processing contact lists to develop routing plans.

TECHNICAL BACKGROUND

Most wireless telephones and personal digital assistants have contact lists that are used to make voice calls and send text messages or emails. To generate a contact list, the user enters contact names and associated contact items. The contact names identify a person, business, or some other entity. The contact items enable communication with the associated contact name, such as telephone number or e-mail address for the associated contact name. The user may then place calls or send text messages and emails through their contact list. Unfortunately, existing communication systems do not take advantage of these contact lists to provide more intelligent communication services.

TECHNICAL SUMMARY

In a communication system, a processing system receives contact lists with contact items from wireless communication devices and processes the contact lists to identify a redundant contact item. In response, the processing system transfers a notification to a master wireless communication device. The processing system receives a response from the master wireless communication device and processes the response to generate and transfer a routing instruction. A routing system receives the routing instruction. The routing system receives a message for the master wireless communication device, and in response, selects another wireless communication device for the message based on the routing instruction and transfers the message to the other wireless communication device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates a communication system.

FIG. 2 is a sequence chart that illustrates a method of operating a communication system.

FIG. 3 is a block diagram that illustrates a customer premise communication system.

FIG. 4 is a sequence chart that illustrates a method of operating a customer premise communication system.

FIG. 5 is a block diagram that illustrates a networked communication system.

DETAILED DESCRIPTION

FIG. 1 is a block diagram that illustrates communication system 100. Communication system 100 includes communication devices 101-103, processing server 104, and routing server 105. Communication devices 101-102 include respective contact lists 111-112. Communication devices 101-102 communicate with processing server 104 via links 121-122. Communication devices 101-103 communicate with routing server 105 via links 131-133. Processing server 104 communicates with routing server 104 via link 140. Routing server 105 communicates with external systems (not shown) via link 150.

Communication devices 101-103 comprise communication circuitry and user interfaces, such as telephones, personal digital assistants, computers, internet appliances, and the like. Contact lists 111-112 comprise contact names and associated contact items. Processing server 104 and routing server 105 comprise processing and communication circuitry. Processing server 104 and routing server 105 may be integrated together or distributed across multiple devices. Links 121-122, 131-133, 140, and 150 comprise wireless or wire line communication connections. Links 121-122, 131-133, 140, and 150 may be direct links or they may include various intermediate systems and components.

Users operate communication devices 101-102 to generate contact lists 111-112. Processing server 104 obtains and processes contact lists 111-112 to generate a routing plan. Processing server 104 provides the routing plan to routing server 105. Routing server 105 receives communications over link 150 that are directed to communication device 103. Based on the routing plan, routing server 105 may route these communications to communication device 103, however, routing server 105 may instead re-direct these communications to communication devices 101-102.

FIG. 2 is a sequence chart that illustrates a method of operating communication system 100. Processing server 104 queries communication devices 101-102 for contact lists 111-112. Communication device 101 sends a query response to processing server 104 with contact list 111. Communication device 102 sends a query response to processing server 104 with contact list 112. Processing server 104 processes contact lists 111-112 to generate a routing plan.

To generate the routing plan, processing server 104 processes contact lists 111-112 to identify contact items that are present in only one of the contact lists 111-112. The routing plan will redirect communications for communication device 103 to the one of communication devices 101-102 that is associated with that one contact list. For example, if only contact list 111 has a contact item of telephone number (303) 555-1111, then telephone calls from (303) 555-1111 to communication device 103 would be redirected to communication device 101.

Processing server 104 also processes contact lists 111-112 to identify contact items that are present in both contact lists 111-112. If the same contact item is in both contact lists 111-112, then processing server 104 notifies associated communication devices 101-102 of this condition, and communication devices 101-102 each send notification responses to processing server 104. Processing server 104 processes these notification responses to generate the routing plan. For example, if both contact lists 111-112 have the same contact item (303) 555-1111, then processing server 104 will notify communication devices 101-102 of the condition to obtain routing instructions for communications from (303) 555-1111. The routing instructions indicate where communications from (303) 555-1111 should be routed, and processing server 104 implements the routing instructions in the routing plan.

The routing instructions in the responses may indicate that one, both, or neither of communication devices 101-102 should receive a communication from a particular contact item. For example, if both contact lists 111-112 have the same contact item (303) 555-1111, then the response from communication device 101 may request communications from (303) 555-1111, but the response from communication device 102 may deny communications from (303) 555-1111. Thus, communications from (303) 555-1111 to communication device 103 would be redirected to communication device 101 but not to communication device 102. Alternatively, the responses from communication devices 101-102 may both request communications from (303) 555-1111, and communications from (303) 555-1111 to communication device 103 would be redirected to both communication devices 101-102. In another alternative, the responses from communication devices 101-102 may both deny communications from (303) 555-1111, and communications from (303) 555-1111to communication device 103 would be routed to communication device 103.

Processing server 104 transfers the routing plan to routing server 105. Routing server 105 subsequently receives a communication request for a communication directed to communication device 103 and processes the communication request and the routing plan to determine if the communication should be redirected to communication device 101 or communication device 102. Routing server 105 obtains information from the communication request that identifies the sender of the communication, such as a telephone number or internet address. Routing server 105 then attempts to match this sender information with an associated routing instruction. Subsequently, routing server 105 receives the communication and routes the communication to one or more of communication devices 101-103 based on the routing plan. In this example, routing server 105 routes the communication to communication device 101—even though the communication was originally directed to communication device 103.

FIG. 3 is a block diagram that illustrates customer premise communication system 300. Communication system 300 includes master wireless telephone 301, wireless telephone 302, home telephone 303, and home hub 306. Master wireless telephone 301 includes associated contact list 311. Wireless telephone 302 includes associated contact list 312. Home telephone 303 communicates with home hub 306 via link 323. Master wireless telephone 301 communicates with home hub 306 via link 321. Wireless telephone 302 communicates with home hub 306 via link 322.

Home hub 306 communicates with an external communication system (not shown) via link 330. Home hub 306 comprises processing server 304 and routing server 305. Home hub 306 comprises processing and communication circuitry, such as a modem, computer, wireless transceiver, voice over internet protocol gateway, or the like.

FIG. 4 is a sequence chart that illustrates a method of operating customer premise communication system 300. Master wireless telephone 301 transfers contact list 311 to processing server 304 in response to a change to contact list 311. Wireless telephone 302 transfers contact list 312 to processing server 304 in response to a change to contact list 312.

Processing server 304 processes contact lists 311-312 to generate a routing plan. During this process, processing server 304 notifies master wireless telephone 301 to obtain responses that clarify and approve of any routing changes. For example, if only contact list 312 has contact item (303) 555-1111, then telephone calls from (303) 555-1111 to home telephone 303 will be redirected to associated wireless telephone 302 if master wireless telephone 301 approves this routing change. If both contact lists 311-312 have the same contact item (303) 555-1111, then telephone calls from (303) 555-1111 to home telephone 303 will be redirected to one or both of wireless telephones 301-302 based on routing instructions from master wireless telephone 301. Processing server 304 transfers the routing plan to routing server 305. Routing server 305 receives a call from an external system directed to home telephone 303 and routes the call based on the routing plan. The routing plan routes incoming calls to one or more telephones as specified by master wireless telephone 301.

In this example, the routing plan implements a routing priority specified by master wireless telephone 301. Routing server 305 receives a call and routes the call to master wireless telephone 301 on a first priority if master wireless telephone 301 is available. Routing server 305 then routes the call to wireless telephone 302 on a second priority if wireless telephone 302 is available. Finally, routing server 305 routes the call to home telephone 303 on a third priority.

FIG. 5 is a block diagram that illustrates networked communication system 500. Networked communication system 500 includes master personal digital assistant 501, personal digital assistants 502-503, communication network 506, e-mail server 507, text message server 508, Voice Over Internet Protocol (VOIP) server 509, and network server 510. Network server 510 comprises processing server 504 and routing server 505. Digital assistants 501-503 respectively include individually associated contact lists 511-513.

Digital assistants 501-503 send contact lists 511-513 to processing server 504—typically in response to a user change to the contact lists. Processing server 504 processes contact lists 511-513 to generate a routing plan. During this process, processing server 504 obtains instructions and approval from master personal digital assistant 501 for implementation and changes to the routing plan.

When e-mail server 507 receives an e-mail directed to one of digital assistants 501-503, then e-mail server 507 transfers a route request to routing server 505. The route request identifies the sender and recipient of the e-mail. Routing server 504 processes the route request and the routing plan to generate a route instruction indicating the digital assistant (or email address/network address) that should receive the e-mail. Routing server 505 transfers the route instruction to the e-mail server 507. E-mail server 507 transfers the e-mail as specified by the route instruction. E-mail server 507 may re-address the email or encapsulate the e-mail in another e-mail to accomplish the e-mail redirection.

When text message server 508 receives a text message directed to one of digital assistants 501-503, then text message server 508 transfers a route request to routing server 505. The route request identifies the sender and recipient of the text message. Routing server 504 processes the route request and the routing plan to generate a route instruction indicating the digital assistant (or telephone number/internet address) that should receive the text message. Routing server 505 transfers the route instruction to text message server 508. Text message server 508 transfers the text message as specified by the route instruction. Text message server 508 may re-number the text message or encapsulate the text message in another text message to accomplish the text message redirection.

When VOIP server 509 receives a call directed to one of digital assistants 501-503, then VOIP server 509 transfers a route request to routing server 505. The route request identifies the caller number and the called number. Routing server 505 processes the route request and the routing plan to generate a route instruction indicating the digital assistant (or telephone number/internet address) that should receive the call. Routing server 505 transfers the route instruction to VOIP server 509. VOIP server 509 routes the call as specified by the route instruction. VOIP server 509 may change the called number or use a different internet address to accomplish the call redirection.

The above description and associated figures teach the best mode of the invention. The following claims specify the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as specified by the claims. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents. 

What is claimed is:
 1. A method of operating a communication system for a plurality of wireless communication devices including a master wireless communication device, the method comprising: in a processing system, receiving a plurality of contact lists comprising contact items transferred by the wireless communication devices and processing the contact lists to identify a redundant one of the contact items, and in response, transferring a notification for delivery to the master wireless communication device; in the processing system, receiving a response transferred by the master wireless communication device and processing the response to generate and transfer a routing instruction; in a routing system, receiving the routing instruction; and in the routing system, receiving a message for the master wireless communication device, and in response, selecting another one of the wireless communication devices for the message based on the routing instruction and transferring the message for delivery to the other one of the wireless communication devices.
 2. The method of claim 1 wherein the contact items comprise telephone numbers.
 3. The method of claim 1 wherein the contact items comprise message addresses.
 4. The method of claim 1 wherein the message comprises a telephone call.
 5. The method of claim 1 wherein the message comprises an email.
 6. The method of claim 1 wherein the message comprises a text message.
 7. The method of claim 1 further comprising, in the processing system, transferring requests for the contact lists for delivery to the wireless communication devices.
 8. The method of claim 1 further comprising, in the processing system, transferring requests for the contact lists on a periodic basis for delivery to the wireless communication devices.
 9. The method of claim 1 wherein: the response and the routing instruction indicate a priority when the master communication device is unavailable; selecting the other one of the wireless communication devices for the message based on the routing instruction comprises selecting the other one of the wireless communication devices based on the priority.
 10. The method of claim 1 wherein the master wireless communication device comprises a telephone.
 11. A communication system to serve a plurality of wireless communication devices including a master wireless communication device, the communication system comprising: a processing system configured to receive a plurality of contact lists comprising contact items transferred by the wireless communication devices and process the contact lists to identify a redundant one of the contact items, and in response, transfer a notification for delivery to the master wireless communication device; the processing system configured to receive a response transferred by the master wireless communication device and process the response to generate and transfer a routing instruction; and a routing system configured to receiving the routing instruction and receive a message for the master wireless communication device, and in response, select another one of the wireless communication devices for the message based on the routing instruction and transfer the message for delivery to the other one of the wireless communication devices.
 12. The communication system of claim 11 wherein the contact items comprise telephone numbers.
 13. The communication system of claim 11 wherein the contact items comprise message addresses.
 14. The communication system of claim 11 wherein the message comprises a telephone call.
 15. The communication system of claim 11 wherein the message comprises an email.
 16. The communication system of claim 11 wherein the message comprises a text message.
 17. The communication system of claim 11 wherein the processing system is configured to transfer requests for the contact lists for delivery to the wireless communication devices.
 18. The communication system of claim 11 wherein the processing system is configured to transfer requests for the contact lists on a periodic basis for delivery to the wireless communication devices.
 19. The communication system of claim 11 wherein the response and the routing instruction indicate a priority when the master wireless communication device is unavailable and the processing system is configured to select the other one of the wireless communication devices for the message based on the priority.
 20. The communication system of claim 11 wherein the master one of the master wireless communication device comprises a telephone. 